JFrog alerte sur les injections de code lors de l’utilisation de bibliothèques fondées sur des LLM

What could go wrong?

13

Abonnez-vous pour tout dévorer et ne rien manquer.

Déjà abonné ? Se connecter

Abonnez-vous

Vanna.AI est une bibliothèque Python qui permet de proposer des solutions text-to-SQL aux développeurs en s'appuyant sur des grands modèles de langage. Fin mai, l'entreprise de sécurité informatique JFrog y a détecté une vulnérabilité permettant d'injecter du code Python puis de le lancer. Pour les chercheurs de l'entreprise, le pre-prompting ne peut être utilisé comme seul mécanisme de sécurité quand les développeurs utilisent des grands modèles de langage.

L'équipe de recherche de l'entreprise de sécurité JFrog a annoncé avoir découvert fin mai dernier une faille critique (CVE-2024-5565) dans la bibliothèque Python Vanna.AI. Celle-ci propose aux développeurs une interface de conversion text-to-SQL utilisant l'IA générative, permettant de générer du SQL à partir de langage naturel. Son code est publié sur GitHub en licence MIT et la bibliothèque rencontre un certain succès.

Le pre-prompting, mécanisme de sécurisation très utilisé pour les LLM

Abonnez-vous pour tout dévorer et ne rien manquer.

Déjà abonné ? Se connecter

Abonnez-vous

Commentaires (13)


Est-il plus simple d'apprendre le SQL ou d'apprendre à sécuriser l'usage d'un LLM qui fait du text-to-SQL ?

Lors du dernier AWS summit à Paris j'ai été horrifié de voir une démo d'une appli qui utilisait une telle techno en interne. Et la réponse au soucis de sécurisation était simple: on rajoute encore une couche de LLM pour analyser les réponses avec un prompt du genre "refuse la réponse s'il y a des infos inattendues ou confidentielles dedans".

J'imagine qu'on rajoutera une couche de plus après chaque problème. Tant pis pour la planète et pour la maintenabilité de l'ensemble.
Tu devrais aller voir la dernière brève que Martin vient de publier :D

Vincent Hermann

Tu devrais aller voir la dernière brève que Martin vient de publier :D
😅
Générer des requêtes en langage naturel peut être utile à certaines personnes. Par exemple un analyste ou un commercial qui souhaite obtenir (ou calculer) des données précises depuis une base de données, mais suffisamment exotiques pour que ce ne soit pas pris en charge par un backoffice, et si tu n'as pas le budget pour qu'un dev ou un data-analyst te sorte la donnée.
Bien-sûr, dans pareille situation, l'utilisateur et l'IA n'auront que des droits en lecture. Mais sur le seul principe de produire du sql de cette manière, on fait ça depuis longtemps, et les LLMs permettent de meilleurs résultats, sinon un degré de souplesse très intéressant.
Modifié le 30/06/2024 à 16h30

Historique des modifications :

Posté le 30/06/2024 à 16h29


Générer des requêtes en langage naturel peut être utile à certaines personnes. Par exemple un analyste ou un commercial qui souhaite obtenir (ou calculer) des données précises depuis une base de données, mais suffisamment exotiques pour que ce ne soit pas pris en charge par un backoffice.
Bien-sûr, dans pareille situation, l'utilisateur et l'IA n'auront que des droits en lecture. Mais sur le seul principe de produire du sql de cette manière, on fait ça depuis longtemps, et les LLMs permettent de meilleurs résultats, sinon un degré de souplesse très intéressant.

"Never trust user input,
Never trust AI output"
Concernant le SQL, j'ajouterais: always prepare your commands before executing them with your data

wanou

Concernant le SQL, j'ajouterais: always prepare your commands before executing them with your data
S'applique aussi à dd.

La commande qu'il faut relire 50 fois avant de lancer.

SebGF

S'applique aussi à dd.

La commande qu'il faut relire 50 fois avant de lancer.
C'est clair. Ce cher dd est toujours prêt à rendre service en t'aidant à faire facilement des trucs de fous qui nécessitent obligatoirement des « logiciels » côté windows.

Mais, quand tu as un truc à demander à DD, il faut bien lui expliquer car il ne pose aucune question avant de se lancer :D

wanou

C'est clair. Ce cher dd est toujours prêt à rendre service en t'aidant à faire facilement des trucs de fous qui nécessitent obligatoirement des « logiciels » côté windows.

Mais, quand tu as un truc à demander à DD, il faut bien lui expliquer car il ne pose aucune question avant de se lancer :D
Le plus beau fail que j'ai vu avec fut un test de vitesse d'écriture sur des disques. La personne a ciblé la mauvaise partition.

Alors, pour votre information, une base de données Oracle n'aime pas quand son filesystem se fait entièrement réécrire. J'avoue ne pas comprendre pourquoi, c'est fragile ces choses là.
Bah, une solution sécurité de plus à vendre. L'IT n'est plus qu'un empilage de couches dont la maîtrise est quasi nulle, donc une de plus ou une de moins...

Le shift left va devoir encore plus shift lefter cela dit. À quand l'outil d'analyse du cerveau du développeur pour s'assurer qu'il n'a pas injecté par mégarde quelque chose qui tromperait le LLM pour ensuite utiliser ce contenu qu'il aurait fait scanner par le LLM sécurité, mais qu'il faut au préalable scanner avec une autre solution de sécurité, pour enfin arriver au scan de code dans l'IDE, puis au SAST, puis au SCA, puis au DAST...

Bientôt il faudra prendre des cours d'auto défense dans l'IT tellement ce secteur est une source d'attaque. Va-t-on enfin avoir la feature que j'ai tant espérée à l'époque où j'étais modérateur sur des communautés conséquentes ?
À savoir le bouton pour tuer le user en face.
Modifié le 28/06/2024 à 18h39

Historique des modifications :

Posté le 28/06/2024 à 18h35


Bah, une solution sécurité de plus à vendre. L'IT n'est plus qu'un empilage de couches dont la maîtrise est quasi nulle, donc une de plus ou une de moins...

Posté le 28/06/2024 à 18h37


Bah, une solution sécurité de plus à vendre. L'IT n'est plus qu'un empilage de couches dont la maîtrise est quasi nulle, donc une de plus ou une de moins...

Le shift left va devoir encore plus shift lefter cela dit. À quand l'outil d'analyse du cerveau du développeur pour s'assurer qu'il n'a pas injecté par mégarde quelque chose qui tromperait le LLM pour ensuite utiliser ce contenu qu'il aurait fait scanner par le LLM sécurité, mais qu'il faut au préalable scanner avec une autre solution de sécurité, pour enfin arriver au scan de code dans l'IDE, puis au SAST, puis au SCA, puis au DAST...

Ben vu l'évolution des divers drones que peuvent déjà ou pourront utiliser la police mais techniquement n'importe qui tu peux redevenir modo. :kill:
Rien que de faire un exec/eval dans mon code me donne des sueurs froides, mais alors là exécuter directement du code généré par ia ça me terrifie.
Tu n'es pas joueur, c'est tout :D
Fermer